﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;

namespace LynxWebLog
{
  public interface IMetaWeblogProvider
  {
    Task<BlogInfo[]> GetUserBlogs(string appkey, string userName, string password);
    Task<Post[]> GetRecentPosts(string userName, string password, string blogid, int noOfPosts);
    Task<Page[]> GetPageList(string userName, string password, string blogid);
    Task<CategoryInfoWP[]> GetCategories(string userName, string password);
    Task<int> NewPost(string userName, string password, string blogid, Post post);
    Task<int> NewPage(string userName, string password, string blogid, Page page, string license = "");
    Task EditPost(string userName, string password, Post post);
    Task<Post> GetPost(string userName, string password, int postid);
    Task<PostCategories[]> GetPostCategories(string userName, string password, int postid);
    Task DeletePost(string userName, string password, int postid);
    Task EditPage(string userName, string password, int pageid, Page page, string license = "");
    Task<Page> GetPage(string userName, string password, int pageid);
    Task<Page[]> GetPages(string userName, string password, string blogid, int noOfPages = 10);
    Task DeletePage(string userName, string password, int pageid);
    Task<MediaObjectInfo> NewMediaObject(string userName, string password, MediaObject mediaObject);
  }
}